package com.zxj.system.service.sysuser;

import com.zxj.common.core.domain.R;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zxj.system.domain.sysuser.dto.LoginDTO;
import com.zxj.system.domain.sysuser.dto.SysUserAddDTO;
import com.zxj.system.domain.sysuser.entity.SysUser;
import com.zxj.system.domain.sysuser.vo.LoginUserVO;
import com.zxj.system.domain.sysuser.vo.LoginVO;

/**
 * <p>
 * 系统管理员用户表 服务类
 * </p>
 *
 * @author zxj2022
 * @since 2024-12-19
 */
public interface ISysUserService extends IService<SysUser> {

    /**
     * 管理员登录
     * @param loginDTO
     * @return
     */
    LoginVO login(LoginDTO loginDTO);



    /**
     * 依据 token 从 redis 中获取用户信息
     * @param token
     * @return
     */
    R<LoginUserVO> info(String token);

    /**
     * 退出登录
     * @param token
     * @return
     */
    boolean logout(String token);

    /**
     * 新增管理员
     * @param sysUserAddDTO
     * @return
     */
    boolean add(SysUserAddDTO sysUserAddDTO);
}
